This invention relates generally to field of virtual worlds and more particularly to the development, use and operation of a virtual world.
A virtual world is a computer-base simulated environment intended for its residents to traverse, inhabit and interact, often through the use of avatars. An avatar is a graphical element selected by a user of a system that other users can see and which represents the user. Avatars often take the form of cartoon-like humans, but any other graphical or non graphical representation is possible. For example, an avatar may be a static image, a computer-generated animation or a point of view not perceivable to other participants in the virtual world. Users or residents of a virtual world can interact through their avatars using a myriad of communication and collaboration technologies including, but not limited to, known chat-room technology. For example, to mimic the behavior of real life human interactions, when an avatar speaks a text window can appear on the user interface of the other users whose avatars are within hearing range of the speaking avatar using known chat-room technology. Audio can be used to convey speech, or virtual objects can be used to convey meanings that can not be expressed with spoken or written language.
Other important virtual world concepts include agents and regions. An agent is a user account, upon which the user can build an avatar. The agent is associated with an inventory of assets the user can own. A region is a three dimensional virtual area of land within a virtual world. Assets, avatars, the environment and anything else visual consists of unique identifiers (UUIDs, see http:widipedia.org/wiki/UUID) associated with geometric data (distributed to users as textual coordinates, lists of polygons or lists of vectors, for example), textures (distributed to users as graphics files such as JPEG2000 files), and effects data (rendered by the user's client according to user preferences and user device capabilities.
Many virtual worlds are represented using three dimensional graphics and landscapes, and may be used by many thousands of participants, sometimes known as residents, each having one or more avatars. Residents of a virtual world may traverse and inhabit the virtual world, and interact with one another through the use of those avatars. Other terms for virtual worlds include virtual universes, metaverses, virtual realities, massively multiplayer online games, virtual realms and 3D internet.
Often, virtual worlds resemble the real world in many ways. For example, virtual worlds can resemble the real world as in terms of physics, houses and other buildings, and landscapes. Examples of virtual worlds can include: Second Life, Entropia World, The Sims Online, There, Red Light Center and several massively multiplayer online games such as EverQuest, Ultima Online, Lineage or World of Warcraft.
In many virtual world situations there is a need or desire to add virtual world functionality, virtual world objects, virtual world interactions, and users to an existing virtual world. However, for technical reasons the virtual world content or infrastructure often cannot be easily augmented or expanded. Additionally, in some known virtual world situations a virtual world user population can require segmentation for purposes of security and functionality. Therefore, methods are required to extend functionality and capacity for existing virtual worlds. Furthermore, methods are also needed to segregate user populations within virtual worlds.
One case where extension of functionality can be required is in military virtual world embodiments that require information hiding. The information hiding can be based on security level or levels of clearance. Another example where extension of functionality can be required is providing age appropriate content where adults and children participate in a single virtual world, but only adults may view adult designated content. Other examples can include providing managerial control and objects in worlds in which world managers may see and interact with objects not accessible to the general population participating within the virtual world, and providing a referee view for sports and activities that require officiating. In contests such as sporting events a referee may have a view of objects and object modifications in the virtual world that help officiate, but may otherwise be a distraction to players.
It may be useful to provide modification, editing rights and functionality to a subset of users of a virtual world. Virtual world development and providing secure and cost effective virtual world content creation tools can be a complex task. Thus, an ability to permit virtual world content creation, the addition of new functionality, manipulation in a live virtual world without the need to integrate security, and the tooling directly into the virtual world are useful. This can be cumbersome, expensive, and disruptive.
For example, new functionality and content can be created on an isolated copy of a virtual world, and then migrated to a production copy of the virtual world. This can delay end user involvement and require maintenance of multiple copies of virtual worlds. It can also delay the process of moving functionality from development to production and require disruption of service in the production copy of the virtual world.
Also, managing multiple virtual worlds efficiently and effectively, while separating in-world management functionality is useful. For example, in a virtual world embodiment called Second Life adding functionality to the infrastructure of a specific user population can require modification of the infrastructure itself. Infrastructure modification can be extremely intrusive to virtual world operation, often requiring the entire world or regions within the world to be non-functional for periods of time.
Referring now to FIG. 1, there is shown the prior art virtual world system 10. The prior art virtual world system 10 includes a base virtual world 12 and a base virtual world view 14. The base virtual world 12 can include a virtual world server with disk arrays for storing the source virtual world objects as well understood by those skilled in the art. Known base virtual worlds such as the base virtual world 12 can sometimes be referred to as canonical virtual worlds. Participants in the prior art virtual world system 10 who are interacting with the base virtual world 12 and viewing the base virtual world 12 by way of the base virtual world view 14 can do so by connecting directly to the base virtual world view 14. Within the prior art virtual world system 10 content and functionality are implemented in a single base virtual world 12. All interactions and objects can be preconceived by the developers of the virtual world system 10 and integrated into the single instance of the base virtual world 12.
Two methods for extending capacity and functionality of a virtual world such as the prior art virtual world system 10 are known to those skilled in the art. One method is segregating and extending the functionality through a permissions-based mechanism. Another method is providing community segregation through the creation of independent instances of the virtual world.
Permissions based mechanisms that control functionality and access to objects and areas within a virtual world can require all functionality, access control lists and the user community to be managed by a single virtual world instance. Such a system may require continual updates, and capacity and functionality enhancements to the single virtual world infrastructure. Additionally, a single virtual world instance may be required to manage user and functionality accounting for the virtual world. It may not always be desirable to consolidate information and functionality into a single system for a number of reasons including manageability, upgradeability, and understandability.
The other known method for extending capacity and functionality is community segregation. Community segregation can require creation of a separate and independent copy of the virtual world. This practice can create a completely separate and isolated copy of a virtual world. Such an approach can require a complete copy of a virtual world wherein the isolated virtual world requires the same infrastructure as the original. It is common for this method to be used to enhance capacity. Each independent copy can manage and provide functionality for its population base without leveraging existing virtual worlds. Such a method can require inefficient duplication of resources, and a change to the original virtual world must be copied to all derived virtual worlds.